package cn.yh.hospitalappointmentsystemdemo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
//@EnableSwagger2//开启swagger配置
@EnableSwagger2WebMvc
public class SwaggerConfig {

    @Bean
    //Docket是Swagger2的一个核心类，用于创建并配置Swagger API的信息
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()//选择构建的API接口信息的位置
                .apis(RequestHandlerSelectors.basePackage("cn.yh.hospitalappointmentsystemdemo.controller"))//扫描的包路径
                .build();
    }

    /**
     * 医院预约系统接口文档
     *
     * @return ApiInfo
     * @author Huxia
     * @create 2025/8/9
     */

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("医院预约系统接口文档")//文档标题
                .version("1.0.0")//文档版本说明
                .description("医院预约系统，提供医生、患者、管理员三端使用的预约平台")
                .build();
    }

}